<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Os1: ORB_SLAM2::MapDrawer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Os1
   &#160;<span id="projectnumber">1</span>
   </div>
   <div id="projectbrief">OrbSlam2 documentado y modificado</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,'Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_o_r_b___s_l_a_m2_1_1_map_drawer.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="class_o_r_b___s_l_a_m2_1_1_map_drawer-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ORB_SLAM2::MapDrawer Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Esta clase contiene los métodos para dibujar en pangolin.  
 <a href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_map_drawer_8h_source.html">MapDrawer.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for ORB_SLAM2::MapDrawer:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_o_r_b___s_l_a_m2_1_1_map_drawer__coll__graph.svg" width="187" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af8d3dec705fc048dac229cf682bfceb1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#af8d3dec705fc048dac229cf682bfceb1">DrawCurrentCamera</a> (pangolin::OpenGlMatrix &amp;Twc)</td></tr>
<tr class="memdesc:af8d3dec705fc048dac229cf682bfceb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dibuja la cámara en la pose dada.  <a href="#af8d3dec705fc048dac229cf682bfceb1">More...</a><br /></td></tr>
<tr class="separator:af8d3dec705fc048dac229cf682bfceb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e00f408c3c2d1878ca53930903caa5f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#a5e00f408c3c2d1878ca53930903caa5f">DrawKeyFrames</a> (const bool bDrawKF, const bool bDrawGraph)</td></tr>
<tr class="memdesc:a5e00f408c3c2d1878ca53930903caa5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dibuja los keyframes y el grafo en pantalla.  <a href="#a5e00f408c3c2d1878ca53930903caa5f">More...</a><br /></td></tr>
<tr class="separator:a5e00f408c3c2d1878ca53930903caa5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acde87836a1eed3d297c6524028388a3f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#acde87836a1eed3d297c6524028388a3f">DrawMapPoints</a> (bool color=false)</td></tr>
<tr class="memdesc:acde87836a1eed3d297c6524028388a3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dibuja en pantalla todos los puntos 3D del mapa.  <a href="#acde87836a1eed3d297c6524028388a3f">More...</a><br /></td></tr>
<tr class="separator:acde87836a1eed3d297c6524028388a3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a872b93687086460e398e912191c91aca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#a872b93687086460e398e912191c91aca">GetCurrentOpenGLCameraMatrix</a> (pangolin::OpenGlMatrix &amp;M)</td></tr>
<tr class="memdesc:a872b93687086460e398e912191c91aca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Informa Twc, la pose actual del mundo respecto de la cámara, en formato pangolin.  <a href="#a872b93687086460e398e912191c91aca">More...</a><br /></td></tr>
<tr class="separator:a872b93687086460e398e912191c91aca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfabe8a5d66f8ecc64021aeff9a14a9e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#abfabe8a5d66f8ecc64021aeff9a14a9e">GetCurrentOpenGLCameraMatrixModified</a> (cv::Mat &amp;T, pangolin::OpenGlMatrix &amp;M)</td></tr>
<tr class="memdesc:abfabe8a5d66f8ecc64021aeff9a14a9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Similar a MapDrawer::GetCurrentOpenGLCameraMAtriz, informa la pose del mundo respecto del visor, en formato pangolin.  <a href="#abfabe8a5d66f8ecc64021aeff9a14a9e">More...</a><br /></td></tr>
<tr class="separator:abfabe8a5d66f8ecc64021aeff9a14a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a649a10671736e192e85a6d824d776fc1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#a649a10671736e192e85a6d824d776fc1">MapDrawer</a> (<a class="el" href="class_o_r_b___s_l_a_m2_1_1_map.html">Map</a> *pMap, const string &amp;strSettingPath)</td></tr>
<tr class="memdesc:a649a10671736e192e85a6d824d776fc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor que toma sus parámetros directamente desde el archivo de configuración.  <a href="#a649a10671736e192e85a6d824d776fc1">More...</a><br /></td></tr>
<tr class="separator:a649a10671736e192e85a6d824d776fc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8c03502b5878303b31816ce5dfd9c0a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#ac8c03502b5878303b31816ce5dfd9c0a">SetCurrentCameraPose</a> (const cv::Mat &amp;Tcw)</td></tr>
<tr class="memdesc:ac8c03502b5878303b31816ce5dfd9c0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Informa la pose de la cámara al objeto <a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html" title="Esta clase contiene los métodos para dibujar en pangolin. ">MapDrawer</a>, que la copia a <a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#a1df47d70a2609cd77d7be569d053e908" title="Pose de la cámara. ">MapDrawer::mCameraPose</a>.  <a href="#ac8c03502b5878303b31816ce5dfd9c0a">More...</a><br /></td></tr>
<tr class="separator:ac8c03502b5878303b31816ce5dfd9c0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac72cc0b3e9e3a92527b38ca12230e79c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#ac72cc0b3e9e3a92527b38ca12230e79c">SetReferenceKeyFrame</a> (<a class="el" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a> *pKF)</td></tr>
<tr class="memdesc:ac72cc0b3e9e3a92527b38ca12230e79c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Método declarado y no definido.  <a href="#ac72cc0b3e9e3a92527b38ca12230e79c">More...</a><br /></td></tr>
<tr class="separator:ac72cc0b3e9e3a92527b38ca12230e79c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aa10e7a80919749c11774eb84219f0a4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map.html">Map</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#aa10e7a80919749c11774eb84219f0a4b">mpMap</a></td></tr>
<tr class="memdesc:aa10e7a80919749c11774eb84219f0a4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mapa del mundo.  <a href="#aa10e7a80919749c11774eb84219f0a4b">More...</a><br /></td></tr>
<tr class="separator:aa10e7a80919749c11774eb84219f0a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a9d9d5a9b0b0c73ac47288bb31ab02487"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#a9d9d5a9b0b0c73ac47288bb31ab02487">mCameraLineWidth</a></td></tr>
<tr class="memdesc:a9d9d5a9b0b0c73ac47288bb31ab02487"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ancho del trazo para dibujar la cámara, definido en el archivo de configuración.  <a href="#a9d9d5a9b0b0c73ac47288bb31ab02487">More...</a><br /></td></tr>
<tr class="separator:a9d9d5a9b0b0c73ac47288bb31ab02487"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1df47d70a2609cd77d7be569d053e908"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#a1df47d70a2609cd77d7be569d053e908">mCameraPose</a></td></tr>
<tr class="memdesc:a1df47d70a2609cd77d7be569d053e908"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pose de la cámara.  <a href="#a1df47d70a2609cd77d7be569d053e908">More...</a><br /></td></tr>
<tr class="separator:a1df47d70a2609cd77d7be569d053e908"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a485491f1257e132b10a4d129b4f3f9ce"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#a485491f1257e132b10a4d129b4f3f9ce">mCameraSize</a></td></tr>
<tr class="memdesc:a485491f1257e132b10a4d129b4f3f9ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tamaño de la cámara a dibujar, definido en el archivo de configuración.  <a href="#a485491f1257e132b10a4d129b4f3f9ce">More...</a><br /></td></tr>
<tr class="separator:a485491f1257e132b10a4d129b4f3f9ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ba8aa0b866fc4bfde76d5e8f592be7b"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#a3ba8aa0b866fc4bfde76d5e8f592be7b">mGraphLineWidth</a></td></tr>
<tr class="memdesc:a3ba8aa0b866fc4bfde76d5e8f592be7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ancho del trazo del grafo, definido en el archivo de configuración.  <a href="#a3ba8aa0b866fc4bfde76d5e8f592be7b">More...</a><br /></td></tr>
<tr class="separator:a3ba8aa0b866fc4bfde76d5e8f592be7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbdf0b3ccfbbbcec719d6c8b2ed5832d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#afbdf0b3ccfbbbcec719d6c8b2ed5832d">mKeyFrameLineWidth</a></td></tr>
<tr class="memdesc:afbdf0b3ccfbbbcec719d6c8b2ed5832d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ancho del trazo para dibujar keyframes, definido en el archivo de configuración.  <a href="#afbdf0b3ccfbbbcec719d6c8b2ed5832d">More...</a><br /></td></tr>
<tr class="separator:afbdf0b3ccfbbbcec719d6c8b2ed5832d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af26fb341deb8fac97ff3c19e61326f21"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#af26fb341deb8fac97ff3c19e61326f21">mKeyFrameSize</a></td></tr>
<tr class="memdesc:af26fb341deb8fac97ff3c19e61326f21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tamaño de los keyframe a dibujar, definido en el archivo de configuración.  <a href="#af26fb341deb8fac97ff3c19e61326f21">More...</a><br /></td></tr>
<tr class="separator:af26fb341deb8fac97ff3c19e61326f21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf8ac349e12a7ae5b8c7e4af7a806ee5"><td class="memItemLeft" align="right" valign="top">std::mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#adf8ac349e12a7ae5b8c7e4af7a806ee5">mMutexCamera</a></td></tr>
<tr class="memdesc:adf8ac349e12a7ae5b8c7e4af7a806ee5"><td class="mdescLeft">&#160;</td><td class="mdescRight">mutex que evita que cambios en la pose de la cámara cuando se le están extrayendo los vectores rotación y traslación.  <a href="#adf8ac349e12a7ae5b8c7e4af7a806ee5">More...</a><br /></td></tr>
<tr class="separator:adf8ac349e12a7ae5b8c7e4af7a806ee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad98a7d7b4aaee890a41696bef0786b84"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#ad98a7d7b4aaee890a41696bef0786b84">mPointSize</a></td></tr>
<tr class="memdesc:ad98a7d7b4aaee890a41696bef0786b84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tamaño de los puntos del mapa, definido en el archivo de configuración.  <a href="#ad98a7d7b4aaee890a41696bef0786b84">More...</a><br /></td></tr>
<tr class="separator:ad98a7d7b4aaee890a41696bef0786b84"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Esta clase contiene los métodos para dibujar en pangolin. </p>
<p>Dibuja la cámara, los keyframes y los puntos 3D del mapa. No los dibuja directamente sobre Pangolin, sino que usa glew. <a class="el" href="class_o_r_b___s_l_a_m2_1_1_viewer.html#a68c269890714298034997be622f09947" title="Método principal de Viewer, que se ejecuta en un hilo propio. ">Viewer::Run</a> invoca estos métodos, y vuelca lo dibujado a Pangolin. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a649a10671736e192e85a6d824d776fc1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ORB_SLAM2::MapDrawer::MapDrawer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map.html">Map</a> *&#160;</td>
          <td class="paramname"><em>pMap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>strSettingPath</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor que toma sus parámetros directamente desde el archivo de configuración. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pMap</td><td>Mapa del mundo. </td></tr>
    <tr><td class="paramname">strSettingPath</td><td>Ruta del archivo de configuración.</td></tr>
  </table>
  </dd>
</dl>
<p>La configuración se limita a aspectos gráficos: anchos de trazos, tamaños de cámara y keyframes, expresados en píxeles, para su visualización. Los parámetros son:</p>
<ul>
<li>Viewer.KeyFrameSize: tamaño de las marcas de keyframes</li>
<li>Viewer.KeyFrameLineWidth: ancho de las líneas al dibujar keyframes</li>
<li>Viewer.GraphLineWidth: ancho de las líneas del grafo de keyframes</li>
<li>Viewer.PointSize: tamaño de los puntos del mapa</li>
<li>Viewer.CameraSize: tamaño del dibujo de la cámara</li>
<li>Viewer.CameraLineWidth: ancho de línea de la cámara</li>
</ul>
<p>Invocado sólo desde el constructor de <a class="el" href="class_o_r_b___s_l_a_m2_1_1_system.html" title="System se instancia una única vez en main, en la variable SLAM. ">System</a>. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="af8d3dec705fc048dac229cf682bfceb1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::MapDrawer::DrawCurrentCamera </td>
          <td>(</td>
          <td class="paramtype">pangolin::OpenGlMatrix &amp;&#160;</td>
          <td class="paramname"><em>Twc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dibuja la cámara en la pose dada. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Twc</td><td>Pose de la cámara.</td></tr>
  </table>
  </dd>
</dl>
<p>Invocado sólo desde <a class="el" href="class_o_r_b___s_l_a_m2_1_1_viewer.html#a68c269890714298034997be622f09947" title="Método principal de Viewer, que se ejecuta en un hilo propio. ">Viewer::Run</a>, en cada iteración. </p>

</div>
</div>
<a id="a5e00f408c3c2d1878ca53930903caa5f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::MapDrawer::DrawKeyFrames </td>
          <td>(</td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>bDrawKF</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>bDrawGraph</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dibuja los keyframes y el grafo en pantalla. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bDrawKF</td><td>true para dibujar keyframes. </td></tr>
    <tr><td class="paramname">bDrawGraph</td><td>true para dibujar el grafo.</td></tr>
  </table>
  </dd>
</dl>
<p>Invocado sólo desde <a class="el" href="class_o_r_b___s_l_a_m2_1_1_viewer.html#a68c269890714298034997be622f09947" title="Método principal de Viewer, que se ejecuta en un hilo propio. ">Viewer::Run</a>, en cada iteración. </p>

</div>
</div>
<a id="acde87836a1eed3d297c6524028388a3f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::MapDrawer::DrawMapPoints </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>color</em> = <code>false</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dibuja en pantalla todos los puntos 3D del mapa. </p>
<p>Dibua todos en color negro, y luego en rojo los de referencia (los visualizados por la cámara). Invocado en cada iteración de <a class="el" href="class_o_r_b___s_l_a_m2_1_1_viewer.html#a68c269890714298034997be622f09947" title="Método principal de Viewer, que se ejecuta en un hilo propio. ">Viewer::Run</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">color</td><td>true para ver los puntos del mapa a color.</td></tr>
  </table>
  </dd>
</dl>
<p>Invocado sólo desde <a class="el" href="class_o_r_b___s_l_a_m2_1_1_viewer.html#a68c269890714298034997be622f09947" title="Método principal de Viewer, que se ejecuta en un hilo propio. ">Viewer::Run</a>, en cada iteración. </p>

</div>
</div>
<a id="a872b93687086460e398e912191c91aca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::MapDrawer::GetCurrentOpenGLCameraMatrix </td>
          <td>(</td>
          <td class="paramtype">pangolin::OpenGlMatrix &amp;&#160;</td>
          <td class="paramname"><em>M</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Informa Twc, la pose actual del mundo respecto de la cámara, en formato pangolin. </p>
<p>Calcula la pose actual invertida en el formato paonglin::OpenGlMatrix</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">M</td><td>Matriz de pose Twc convertida a matriz opengl.</td></tr>
  </table>
  </dd>
</dl>
<p>La pose de la cámara se encuentra convenientemente actualizada en la propiedad mCameraPose.</p>
<p>Invocado sólo desde <a class="el" href="class_o_r_b___s_l_a_m2_1_1_viewer.html#a68c269890714298034997be622f09947" title="Método principal de Viewer, que se ejecuta en un hilo propio. ">Viewer::Run</a>. </p>

</div>
</div>
<a id="abfabe8a5d66f8ecc64021aeff9a14a9e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::MapDrawer::GetCurrentOpenGLCameraMatrixModified </td>
          <td>(</td>
          <td class="paramtype">cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">pangolin::OpenGlMatrix &amp;&#160;</td>
          <td class="paramname"><em>M</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Similar a MapDrawer::GetCurrentOpenGLCameraMAtriz, informa la pose del mundo respecto del visor, en formato pangolin. </p>
<p>En este caso el visor p (de pájaro) no coincide con la cámara. Se proporciona un argumento de rototraslación entre el visor y la cámara.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>Rototraslación, pose de la cámara respecto del visor. </td></tr>
    <tr><td class="paramname">M</td><td>Matriz resultado, pose del mundo respecto del visor, en formato pangolin.</td></tr>
  </table>
  </dd>
</dl>
<p>Invocado sólo desde <a class="el" href="class_o_r_b___s_l_a_m2_1_1_viewer.html#a68c269890714298034997be622f09947" title="Método principal de Viewer, que se ejecuta en un hilo propio. ">Viewer::Run</a>. </p>

</div>
</div>
<a id="ac8c03502b5878303b31816ce5dfd9c0a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::MapDrawer::SetCurrentCameraPose </td>
          <td>(</td>
          <td class="paramtype">const cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>Tcw</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Informa la pose de la cámara al objeto <a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html" title="Esta clase contiene los métodos para dibujar en pangolin. ">MapDrawer</a>, que la copia a <a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#a1df47d70a2609cd77d7be569d053e908" title="Pose de la cámara. ">MapDrawer::mCameraPose</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Tcw</td><td>Pose en el mundo, matriz de rototraslación en coordenadas homogéneas.</td></tr>
  </table>
  </dd>
</dl>
<p>Invocado sólo desde <a class="el" href="class_o_r_b___s_l_a_m2_1_1_tracking.html#af1f2c9c533642d8c33854540e90d1918" title="Es la máquina de estados del tracking. ">Tracking::Track</a> y <a class="el" href="class_o_r_b___s_l_a_m2_1_1_tracking.html#afeb077c81cd700d779348b80698086e8" title="Crea el mapa inicial. ">Tracking::CreateInitialMapMonocular</a>. </p>

</div>
</div>
<a id="ac72cc0b3e9e3a92527b38ca12230e79c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::MapDrawer::SetReferenceKeyFrame </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a> *&#160;</td>
          <td class="paramname"><em>pKF</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Método declarado y no definido. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a9d9d5a9b0b0c73ac47288bb31ab02487"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::MapDrawer::mCameraLineWidth</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Ancho del trazo para dibujar la cámara, definido en el archivo de configuración. </p>

</div>
</div>
<a id="a1df47d70a2609cd77d7be569d053e908"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::MapDrawer::mCameraPose</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Pose de la cámara. </p>
<p>Permanentemente actualizada con <a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html#ac8c03502b5878303b31816ce5dfd9c0a" title="Informa la pose de la cámara al objeto MapDrawer, que la copia a MapDrawer::mCameraPose. ">MapDrawer::SetCurrentCameraPose</a> invocado por <a class="el" href="class_o_r_b___s_l_a_m2_1_1_viewer.html#a68c269890714298034997be622f09947" title="Método principal de Viewer, que se ejecuta en un hilo propio. ">Viewer::Run</a>. </p>

</div>
</div>
<a id="a485491f1257e132b10a4d129b4f3f9ce"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::MapDrawer::mCameraSize</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tamaño de la cámara a dibujar, definido en el archivo de configuración. </p>

</div>
</div>
<a id="a3ba8aa0b866fc4bfde76d5e8f592be7b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::MapDrawer::mGraphLineWidth</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Ancho del trazo del grafo, definido en el archivo de configuración. </p>

</div>
</div>
<a id="afbdf0b3ccfbbbcec719d6c8b2ed5832d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::MapDrawer::mKeyFrameLineWidth</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Ancho del trazo para dibujar keyframes, definido en el archivo de configuración. </p>

</div>
</div>
<a id="af26fb341deb8fac97ff3c19e61326f21"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::MapDrawer::mKeyFrameSize</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tamaño de los keyframe a dibujar, definido en el archivo de configuración. </p>

</div>
</div>
<a id="adf8ac349e12a7ae5b8c7e4af7a806ee5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::mutex ORB_SLAM2::MapDrawer::mMutexCamera</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>mutex que evita que cambios en la pose de la cámara cuando se le están extrayendo los vectores rotación y traslación. </p>

</div>
</div>
<a id="aa10e7a80919749c11774eb84219f0a4b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map.html">Map</a>* ORB_SLAM2::MapDrawer::mpMap</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mapa del mundo. </p>

</div>
</div>
<a id="ad98a7d7b4aaee890a41696bef0786b84"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::MapDrawer::mPointSize</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tamaño de los puntos del mapa, definido en el archivo de configuración. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/alejandro/Desarrollo eclipse/os1/include/<a class="el" href="_map_drawer_8h_source.html">MapDrawer.h</a></li>
<li>/home/alejandro/Desarrollo eclipse/os1/src/<a class="el" href="_map_drawer_8cc.html">MapDrawer.cc</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_o_r_b___s_l_a_m2.html">ORB_SLAM2</a></li><li class="navelem"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_drawer.html">MapDrawer</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.12 </li>
  </ul>
</div>
</body>
</html>
